package hot100;

import java.util.Arrays;

/**
 * @author aodre , QQ : 480029069
 * @date 2023/9/12 14:17
 */
public class lc567字符串的排列 {

    /*
     跟 438, 和  76 一样的题目
     */


    // 可以 优化 这里的  比较两个数组是否相同

    public boolean solve(String s1,String s2){
        int sm2[] = new int[26];
        int sm1[] = new int[26];
        for(int i = 0;i < s1.length();i++){
            sm1[s1.charAt(i) - 'a']++;
        }
        int l = 0, r = 0;
        while(r < s2.length()){
            int c = s2.charAt(r) - 'a';
            sm2[c]++;
            if(r - l + 1 >= s1.length()){
                if(Arrays.equals(sm1,sm2)){  // 这里是 优化的点
                    return true;
                }
                sm2[s2.charAt(l++) - 'a']--;
            }



            r++;
        }
        return false;
    }

}
